namespace graver
{
    /// <summary>
    /// Token 类型
    /// </summary>
    public enum SyntaxKind
    {
        /// <summary>
        /// 数字
        /// </summary>
        BadToken,
        /// <summary>
        /// 文件尾
        /// </summary>
        EndOfFileToken,
        /// <summary>
        /// 数字
        /// </summary>
        NumberToken,
        /// <summary>
        /// 空白字符
        /// </summary>
        SpaceToken,
        /// <summary>
        /// +
        /// </summary>
        PlusToken,
        /// <summary>
        /// -
        /// </summary>
        MinusToken,
        /// <summary>
        /// *
        /// </summary>
        StarToken,
        /// <summary>
        /// /
        /// </summary>
        SlashToken,
        /// <summary>
        /// (
        /// </summary>
        OpenParenthesisToken,
        /// <summary>
        /// )
        /// </summary>
        CloseParenthesisToken,


        /// <summary>
        /// 语法树数字节点
        /// </summary>
        NumberExpression,
        /// <summary>
        /// 语法树节点
        /// </summary>
        BinaryExpression,
        /// <summary>
        /// 带括号的语法树节点
        /// </summary>
        ParenthesizeExpression
    }
}


